﻿/**
 * \file IUnite.cs
 * \brief Interface IUnite
 * \author ARTUR Vincent
 * \author LAPERDRIX Pierre
 * \version 1.0
 */
namespace Interfaces
{
	using Implem;
	using System;
	using System.Collections.Generic;
	using System.Linq;
	using System.Text;

    /**
     * \interface IUnite
     * \brief Objet representant une unite
     */
	public interface IUnite 
	{
        /**
         * \fn void seDeplacer(Position p)
         * \brief Deplace l'unite a la position p
         * \param p la position
         */
		void seDeplacer(Position p);

        /**
         * \fn void deceder()
         * \brief Fait mourrir l'unite courante
         */
		void deceder();

        /**
         * \fn void priseVille()
         * \brief Prend la ville sur laquelle se trouve l'unite
         */
        void priseVille();

        /**
         * \fn void gainPV()
         * \brief Fait regagner un point de vie a l'unite courante
         */
        void gainPV();

        /**
         * \fn void refreshMouvement()
         * \brief Remet le nombre de deplacement de l'unite a sa valeur initiale
         */
        void refreshMouvement();

	}
}

